//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation
//
// File: ICacheProvider.cs
//
// Contents: ICacheProvider interface - cache data feed for the Delivery Service
//
// Created by: Andrew Lin (yunlin) April 23 2008
//
//----------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.ObjectModel;
using MRS.FrontEnd.BO;

namespace Microsoft.Reputation.Services
{
    public interface ICacheProvider : IDisposable
    {
        bool GetMatchedEntry(
            ObjectIdentifier objectIdentefier,
            out UnpackedObject matchEntry);

        bool GetMatchedEntries(IEnumerable<ObjectIdentifier> objectIdentefiers, out List<UnpackedObject> matches);

        void CacheMatchedEntry(UnpackedObject match);

        void CacheMatchedEntries(IEnumerable<UnpackedObject> matches);
    }
}
